#include "gather_task.h"
#include "stdio.h"

TaskHandle_t gatherHandler;
	

void init_gather(){
    //温度的采集
    DHT11_Init();
    ADCx_Init();
    rainInit();
   
}

void gather_task(void * param){
    u16 value;
    while (1)
    {
        GatherData source;
        //读取dth11采集的数据
        /*
            u8 temp; u8 humi;
            DHT11_Read_Data(&temp,&humi);
            printf("read data: %d , %d \r\n",temp,humi);

            value=Get_ADC_Value(ADC_Channel_9,1);
            printf("检测AD值为：%d\r\n",value);
            value=100-value/40;
            if(value>=100)value=100;
            printf("read data: %d , %d \r\n",value);

            value=Get_ADC_Value(ADC_Channel_8,1);
            printf("检测AD值为：%d\r\n",value);
            value=value/40;
            if(value>=100)value=100;
            printf("read data: %d \r\n",value);
            printf("read data: %d \r\n",DATA_PIN_READ);
        */
        //获取温湿度数据
        DHT11_Read_Data(&source.temp,&source.humi);
        //光照
        source.sunshine=Get_ADC_Value(ADC_Channel_9,1); 
        //烟雾
        source.smoke=Get_ADC_Value(ADC_Channel_8,1); 
        //雨水 0：有水  1：没水
        source.raidrop=DATA_PIN_READ==0?0:1;
        //把原始数据给 GatherDataHandlerMemory 的数据处理函数进行数据的加工
        dataHandler(&source);

        vTaskDelay(2000);
    }
    
}
//用来创建一个任务 ，心跳任务
/*
    1.心跳 -让用户去感知设备在工作
    2.每过几秒钟给后台报备自己的状态 -- 网络 http tcp udp

*/
void createGatherTask(){
    xTaskCreate(
        gather_task,
        "gather_task",
        128,
        NULL,
        2,
        &gatherHandler
    );
}
